using System;
using System.Collections.Generic;
using ns26;
using ns27;

namespace Triton.Game.Mapping
{
	[Attribute38("EnterTheColiseumSpell")]
	public class EnterTheColiseumSpell : Spell
	{
		public string m_SpellStartSoundPrefab => method_4("m_SpellStartSoundPrefab");

		public float m_survivorLiftHeight => method_2<float>("m_survivorLiftHeight");

		public float m_LiftTime => method_2<float>("m_LiftTime");

		public float m_LiftOffset => method_2<float>("m_LiftOffset");

		public float m_DestroyMinionDelay => method_2<float>("m_DestroyMinionDelay");

		public float m_LowerDelay => method_2<float>("m_LowerDelay");

		public float m_LowerOffset => method_2<float>("m_LowerOffset");

		public float m_LowerTime => method_2<float>("m_LowerTime");

		public float m_LightingFadeTime => method_2<float>("m_LightingFadeTime");

		public float m_CameraShakeMagnitude => method_2<float>("m_CameraShakeMagnitude");

		public iTween.EaseType m_liftEaseType => method_2<iTween.EaseType>("m_liftEaseType");

		public iTween.EaseType m_lowerEaseType => method_2<iTween.EaseType>("m_lowerEaseType");

		public iTween.EaseType m_lightFadeEaseType => method_2<iTween.EaseType>("m_lightFadeEaseType");

		public Spell m_survivorSpellPrefab => method_3<Spell>("m_survivorSpellPrefab");

		public Spell m_DustSpellPrefab => method_3<Spell>("m_DustSpellPrefab");

		public bool m_survivorsMeetInMiddle => method_2<bool>("m_survivorsMeetInMiddle");

		public Spell m_ImpactSpellPrefab => method_3<Spell>("m_ImpactSpellPrefab");

		public string m_RaiseSoundName => method_4("m_RaiseSoundName");

		public List<Card> m_survivorCards => method_3<Class271<Card>>("m_survivorCards")?.method_25();

		public bool m_effectsPlaying => method_2<bool>("m_effectsPlaying");

		public int m_numSurvivorSpellsPlaying => method_2<int>("m_numSurvivorSpellsPlaying");

		public EnterTheColiseumSpell(IntPtr address, string className)
			: base(address, className)
		{
		}

		public EnterTheColiseumSpell(IntPtr address)
			: this(address, "EnterTheColiseumSpell")
		{
		}

		public new void OnAction(SpellStateType prevStateType)
		{
			method_8("OnAction", prevStateType);
		}

		public void LiftCard(Card card)
		{
			method_8("LiftCard", card);
		}

		public void LowerCard(GameObject target, Vector3 finalPosition)
		{
			method_8("LowerCard", target, finalPosition);
		}

		public List<Card> FindSurvivors()
		{
			return method_14<Class271<Card>>("FindSurvivors", Array.Empty<object>())?.method_25();
		}

		public void PlaySurvivorSpell(Card card)
		{
			method_8("PlaySurvivorSpell", card);
		}

		public void PlayDustCloudSpell()
		{
			method_8("PlayDustCloudSpell");
		}
	}
}
